package ${basePackageName}.interfaces.validator;

import ${basePackageName}.interfaces.assembler.<#if prefixJpa??>${prefixJpa}</#if>${tableClassNamePrefix}Assembler;
import ${basePackageName}.interfaces.frm.${tableClassNamePrefix}SaveFrm;

import java.util.Objects;

/**
 * description 表(${tableName})对应的JpaValidator
 *
 * @author ${authorName}
 * @date ${dateTime}
 */
public class <#if prefixJpa??>${prefixJpa}</#if>${tableClassNamePrefix}Validator {

    /**
     * 根据实际业务校验保存参数
     *
     * @param frm 待校验的frm对象
     */
    public static void validateFrm(<#if prefixJpa??>${prefixJpa}</#if>${tableClassNamePrefix}Assembler assembler, ${tableClassNamePrefix}SaveFrm frm) {
        String id = frm.getId();
        if (Objects.equals(id, null)) {
            // 新增数据校验
            validateFrmForInsert(assembler, frm);
        } else {
            // 更新数据校验
            validateFrmForUpdate(assembler, frm);
        }
    }

    /**
     * 方法说明：新增对象做校验
     *
     * @param assembler 转换器
     * @param frm       请求参数
     */
    private static void validateFrmForInsert(<#if prefixJpa??>${prefixJpa}</#if>${tableClassNamePrefix}Assembler assembler, ${tableClassNamePrefix}SaveFrm frm) {
        // TODO 根据实际需求写校验逻辑


    }

    /**
     * 方法说明：更新对象做校验
     *
     * @param assembler 转换器
     * @param frm       请求参数
     */
    private static void validateFrmForUpdate(<#if prefixJpa??>${prefixJpa}</#if>${tableClassNamePrefix}Assembler assembler, ${tableClassNamePrefix}SaveFrm frm) {
        // TODO 根据实际需求写校验逻辑


    }

}

